1 % **************************************************************************
3 % Package 'caratula', version 0.3 (para componer caratulas de TPs del DC).
5 % En caso de dudas, problemas o sugerencias sobre este package escribir a
6 % Brian J. Cardiff (bcardif arroba gmail.com).
7 % Nico Rosner (nrosner arroba dc.uba.ar).
9 % **************************************************************************
11 % ----- Informacion sobre el package para el sistema -----------------------
13 \NeedsTeXFormat{LaTeX2e
}
14 \ProvidesPackage{caratula
}[2005/
08/
09 v0.4 Para componer caratulas de TPs del DC
]
15 \RequirePackage{ifthen
}
16 \usepackage[pdftex
]{graphicx}
18 % ----- Imprimir un mensajito al procesar un .tex que use este package -----
20 \typeout{Cargando package 'caratula' v0.4 (
2006/
09/
29)
}
22 % ----- Algunas variables --------------------------------------------------
30 \let\Logoimagefile\relax
32 \newcommand{\LabelIntegrantes}{}
34 \newboolean{showDirectores
}
36 % ----- Comandos para que el usuario defina las variables ------------------
38 \def\materia#1{\def\Materia{#1}}
39 \def\submateria#1{\def\Submateria{#1}}
40 \def\titulo#1{\def\Titulo{#1}}
41 \def\subtitulo#1{\def\Subtitulo{#1}}
42 \def\grupo#1{\def\Grupo{#1}}
43 \def\fecha#1{\def\Fecha{#1}}
44 \def\logoimagefile#1{\def\Logoimagefile{#1}}
45 \def\resumen#1{\def\Resumen{#1}}
47 % ----- Token list para los integrantes ------------------------------------
49 \newtoks\intlist\intlist=
{}
51 \newtoks\intlistSinLU\intlistSinLU=
{}
53 \newcounter{integrantesCount
}
54 \setcounter{integrantesCount
}{0}
55 \newtoks\intTabNombre\intTabNombre=
{}
56 \newtoks\intTabLU\intTabLU=
{}
57 \newtoks\intTabEmail\intTabEmail=
{}
59 \newcounter{directoresCount
}
60 \setcounter{directoresCount
}{0}
61 \newtoks\direcTabNombre\direcTabNombre=
{}
62 \newtoks\direcTabEmail\direcTabEmail=
{}
64 % ----- Comando para que el usuario agregue integrantes --------------------
66 \def\integrante#1#2#3{%
67 \intlist=
\expandafter{\the\intlist\rule{0pt
}{1.2em
}#1&
#2&
\tt #3\\
[0.2em
]}%
68 \intlistSinLU=
\expandafter{\the\intlistSinLU\rule{0pt
}{1.2em
}#1 &
\tt #3\\
[0.2em
]}%
70 \ifthenelse{\value{integrantesCount
} >
0}{%
71 \intTabNombre=
\expandafter{\the\intTabNombre &
#1}%
72 \intTabLU=
\expandafter{\the\intTabLU &
#2}%
73 \intTabEmail=
\expandafter{\the\intTabEmail &
\tt #3}%
75 \intTabNombre=
\expandafter{\the\intTabNombre #1}%
76 \intTabLU=
\expandafter{\the\intTabLU #2}%
77 \intTabEmail=
\expandafter{\the\intTabEmail \tt #3}%
79 \addtocounter{integrantesCount
}{1}%
83 \ifthenelse{\value{directoresCount
} >
0}{%
84 \direcTabNombre=
\expandafter{\the\direcTabNombre &
#1}%
85 \direcTabEmail=
\expandafter{\the\direcTabEmail &
\tt #2}%
87 \direcTabNombre=
\expandafter{\the\direcTabNombre #1}%
88 \direcTabEmail=
\expandafter{\the\direcTabEmail \tt #2}%
90 \addtocounter{directoresCount
}{1}%
93 % ----- Macro para generar la tabla de integrantes -------------------------
95 \newcommand{\tablaIntegrantes}{\
}
97 \newcommand{\tablaIntegrantesVertical}{%
98 \ifthenelse{\boolean{showLU
}}{%
99 \begin{tabular
}[t
]{| l @
{\hspace{4ex
}} c @
{\hspace{4ex
}} l|
}
101 \multicolumn{1}{|c
}{\rule{0pt
}{1.2em
} \LabelIntegrantes} & LU &
\multicolumn{1}{c|
}{Correo electr\'onico
} \\
[0.2em
]
107 \begin{tabular
}[t
]{| l @
{\hspace{4ex
}} @
{\hspace{4ex
}} l|
}
109 \multicolumn{1}{|c
}{\rule{0pt
}{1.2em
} \LabelIntegrantes} &
\multicolumn{1}{c|
}{Correo electr\'onico
} \\
[0.2em
]
117 \newcommand{\tablaIntegrantesHorizontal}{%
118 \begin{tabular
}[t
]{ *
{\value{integrantesCount
}}{c
} }
119 \the\intTabNombre \\%
120 \ifthenelse{\boolean{showLU
}}{
127 \newcommand{\tablaDirectores}{%
128 \ifthenelse{\boolean{showDirectores
}}{%
133 \begin{tabular
}[t
]{ *
{\value{directoresCount
}}{c
} }
134 \the\direcTabNombre \\%
140 % ----- Codigo para manejo de errores --------------------------------------
142 \def\se{\let\ifsetuperror\iftrue}
144 \let\ifsetuperror\iffalse
145 \ifx\Materia\relax\se\errhelp=
{Te olvidaste de proveer una
\materia{}.
}\fi
146 \ifx\Titulo\relax\se\errhelp=
{Te olvidaste de proveer un
\titulo{}.
}\fi
147 \edef\mlist{\the\intlist}\ifx\mlist\empty\se%
148 \errhelp=
{Tenes que proveer al menos un
\integrante{nombre
}{lu
}{email
}.
}\fi
149 \expandafter\ifsetuperror}
152 % ----- \maketitletxt correspondiente a la versión v0.2.1 (texto v0.2 + fecha ) ---------
155 \ifsetuperror\errmessage{Faltan datos de la caratula! Ingresar 'h' para mas informacion.
}\fi
156 \thispagestyle{empty
}
158 \vspace*
{\stretch{2}}
159 {\LARGE\textbf{\Materia}}\\
[1em
]
160 \ifx\Submateria\relax\else{\Large \Submateria}\\
[0.5em
]\fi
161 \ifx\Fecha\relax\else{\Large \Fecha}\\
[0.5em
]\fi
162 \par\vspace{\stretch{1}}
163 {\large Departamento de Computaci\'on
}\\
[0.5em
]
164 {\large Facultad de Ciencias Exactas y Naturales
}\\
[0.5em
]
165 {\large Universidad de Buenos Aires
}
166 \par\vspace{\stretch{3}}
167 {\Large \textbf{\Titulo}}\\
[0.8em
]
169 \par\vspace{\stretch{3}}
170 \ifx\Grupo\relax\else\textbf{\Grupo}\par\bigskip\fi
173 \vspace*
{\stretch{3}}
176 % ----- \maketitletxtlogo correspondiente v0.2.1 (texto con fecha y logo) ---------
178 \def\maketitletxtlogo{%
179 \ifsetuperror\errmessage{Faltan datos de la caratula! Ingresar 'h' para mas informacion.
}\fi
180 \thispagestyle{empty
}
182 \ifx\Logoimagefile\relax\else\includegraphics{\Logoimagefile}\fi \hfill \includegraphics{./figuras/logo_dc.jpg
}\\
[1em
]
183 \vspace*
{\stretch{2}}
184 {\LARGE\textbf{\Materia}}\\
[1em
]
185 \ifx\Submateria\relax\else{\Large \Submateria}\\
[0.5em
]\fi
186 \ifx\Fecha\relax\else{\large \Fecha}\\
[0.5em
]\fi
187 \par\vspace{\stretch{1}}
188 {\large Departamento de Computaci\'on
}\\
[0.5em
]
189 {\large Facultad de Ciencias Exactas y Naturales
}\\
[0.5em
]
190 {\large Universidad de Buenos Aires
}
191 \par\vspace{\stretch{3}}
192 {\Large \textbf{\Titulo}}\\
[0.8em
]
194 \par\vspace{\stretch{3}}
195 \ifx\Grupo\relax\else\textbf{\Grupo}\par\bigskip\fi
198 \vspace*
{\stretch{4}}
201 % ----- \maketitlegraf correspondiente a la versión v0.3 (gráfica) -------------
204 \ifsetuperror\errmessage{Faltan datos de la caratula! Ingresar 'h' para mas informacion.
}\fi
206 \thispagestyle{empty
}
208 \ifx\Logoimagefile\relax\else\includegraphics{\Logoimagefile}\fi \hfill \includegraphics{./figuras/logo_dc.jpg
}
210 \vspace*
{.12 \textheight}
212 \noindent \textbf{\huge \Titulo} \medskip \\
213 \ifx\Subtitulo\relax\else\noindent\textbf{\large \Subtitulo} \\
\fi%
214 \noindent \rule{\textwidth}{1 pt
}
216 {\noindent\large\Fecha \hspace*
\fill \Materia} \\
217 \ifx\Submateria\relax\else{\noindent \hspace*
\fill \Submateria}\fi%
221 \ifx\Grupo\relax\else\textbf{\Grupo}\par\bigskip\fi
231 \begin{minipage
}[t
]{\textwidth}
232 \begin{minipage
}[t
]{.55 \textwidth}
233 \includegraphics{./figuras/logo_uba.jpg
}
235 \begin{minipage
}[b
]{.5 \textwidth}
236 \textbf{\textsf{Facultad de Ciencias Exactas y Naturales
}} \\
237 \textsf{Universidad de Buenos Aires
} \\
239 Ciudad Universitaria - (Pabell\'on I/Planta Baja) \\
240 Intendente G\"uiraldes
2160 - C1428EGA \\
241 Ciudad Aut\'onoma de Buenos Aires - Rep. Argentina \\
242 Tel/Fax: (
54 11)
4576-
3359 \\
243 http://www.fcen.uba.ar \\
250 % ----- Reemplazamos el comando \maketitle de LaTeX con el nuestro ---------
251 \renewcommand{\maketitle}{\maketitlegraf}
253 % ----- Dependiendo de las opciones ---------
256 % txt : caratula solo texto.
257 % txtlogo : caratula txt con logo del DC y del grupo (opcional).
258 % graf : (default) caratula grafica con logo del DC, UBA y del grupo (opcional).
260 \@makeother\*
% some package redefined it as a letter (as color.sty)
262 % Layout general de la caratula
264 \DeclareOption{txt
}{\renewcommand{\maketitle}{\maketitletxt}}
265 \DeclareOption{txtlogo
}{\renewcommand{\maketitle}{\maketitletxtlogo}}
266 \DeclareOption{graf
}{\renewcommand{\maketitle}{\maketitlegraf}}
268 % Etiqueta Autores o Integrantes
270 \DeclareOption{integrante
}{\renewcommand{\LabelIntegrantes}{Integrante
}}
271 \DeclareOption{autor
}{\renewcommand{\LabelIntegrantes}{Autor
}}
273 % Formato tabla de integrantes
275 \DeclareOption{intVert
}{\renewcommand{\tablaIntegrantes}{\tablaIntegrantesVertical}}
276 \DeclareOption{intHoriz
}{\renewcommand{\tablaIntegrantes}{\tablaIntegrantesHorizontal}}
277 \DeclareOption{conLU
}{\setboolean{showLU
}{true
}}
278 \DeclareOption{sinLU
}{\setboolean{showLU
}{false
}}
279 \DeclareOption{showDirectores
}{\setboolean{showDirectores
}{true
}}
280 \DeclareOption{hideDirectores
}{\setboolean{showDirectores
}{false
}}
282 % Opciones predeterminadas
284 \ExecuteOptions{intVert
}%
285 \ExecuteOptions{graf
}%
286 \ExecuteOptions{integrante
}%
287 \ExecuteOptions{conLU
}%
288 \ExecuteOptions{hideDirectores
}%
290 \ProcessOptions\relax